import React from 'react'
import Logo from '../../logo/logo'
import {List, InputItem, WingBlank, WhiteSpace, Button} from 'antd-mobile'
import { connect } from 'react-redux'
import {Redirect} from 'react-router-dom'
import {login} from '../../redux/user.redux'
import imoocForm from '../../components/imooc-form/imooc-form.js'
// function hello() {
// 	console.log('hello')
// }
// function wrapperHello(fn) {
// 	return function () {
// 		console.log('before say hello');
// 		fn()
// 		console.log('after say hello');
// 	}
// }
// hello=wrapperHello(hello)
// //属性代理 反向继承
// function WrapperHello(Comp){
// 	class WrapComp extends Comp{
// 		componentDidMount(){
// 			console.log('高阶组件新增生命周期 加载完成');
			
// 		}
// 		componentWillMount(){
// 			console.log('高阶组件初始化');
			
// 		}
// 		render(){
// 			console.log('高阶组件渲染');
			
// 			return <Comp {...this.props}></Comp>
			
// 		}
// 	}

// 	return WrapComp
// }
// hello()
// @WrapperHello
// class Hello extends React.Component{
// 	componentDidMount(){
// 		console.log('hello 渲染完成');
// 	}
// 	componentWillMount(){
// 		console.log('hello组件初始化');
		
// 	}
// 	render(){
// 		console.log('hello组件渲染');
// 		return(
// 			<h2>hello react</h2>
// 		)
// 	}
// }

// Hello=WrapperHello(Hello)
@connect(
	state=>state.user,
	{login}
)
@imoocForm
class Login extends React.Component{
	constructor(props) {
		super(props)
		console.log('caonima');
		
		this.register = this.register.bind(this)
		this.handleLogin = this.handleLogin.bind(this)
	}
	register(){
		this.props.history.push('/register')
	}
	
	handleLogin(){
		this.props.login(this.props.state)
	}
	render(){
		return (
			<div>
				{(this.props.redirectTo&&this.props.redirectTo!=='/login')? <Redirect to={this.props.redirectTo} />:null}
				<Logo></Logo>
				<WingBlank>
					<List>
						{this.props.msg?<p className='error-msg'>{this.props.msg}</p>:null}
						<InputItem
							onChange={v=>this.props.handleChange('user',v)}

						>用户</InputItem>
						<WhiteSpace />
						<InputItem
							onChange={v=>this.props.handleChange('pwd',v)}
							type='password'
						>密码</InputItem>
					</List>
					<WhiteSpace />
					<Button onClick={this.handleLogin} type='primary'>登录</Button>
					<WhiteSpace />
					<Button onClick={this.register} type='primary'>注册</Button>
				</WingBlank>


			</div>
		)
	}
}

export default Login